package the.workshop.bu.service;

import org.wisteria.framework.util.TreeSelected;
import the.workshop.bu.entity.Product;
import org.wisteria.framework.web.mvc.service.ISuperService;
import the.workshop.bu.service.dto.*;

import java.util.List;

/**
 * <p>
 * 产品 服务类
 * </p>
 *
 * @author lei.liu
 * @since 2020-06-24
 */
public interface IProductService extends ISuperService<Product> {

    List<ProductSearchResultDTO> search(ProductSearchConditionDTO dto);

    boolean save(ProductSaveDTO dto);

    boolean updateById(ProductModifyDTO dto);

    boolean updateProductRule(ProductRuleModifyDTO dto);

    boolean updateProductArea(ProductAreaModifyDTO dto);

    ProductGetDTO getDetailById(Integer productId);

    TreeSelected getProductRuleTreeSelected(Integer productId);

    TreeSelected getProductAreaTreeSelected(Integer productId);

    List<ProductMatchResultDTO> matchProduct(ProductMatchDTO dto);
}
